<?php
// 应用公共文件

#[author['fany', 'hflxhn.com']]
#[function('result', '返回 api 数据')]
#[param1:array('$data', '返回数据')]
#[param2:integer('$code', '业务状态码')]
#[param3:string('$msg', '提示信息')]
#[param3:integer('$http_status', 'http 状态码')]
#[return:json('返回结果')]
function result($data = [], $code = 0, $msg = "success", $http_status = 200)
{
    $result = [
        "code" => $code,
        "msg"  => $msg,
        "time" => time(),
        "date" => date('Y-m-d H:i:s'),
        "data" => $data,
    ];

    return json($result, $http_status);
}

#[('trans byte')]
function transByte($size = 0)
{
    $arr = [
        "Byte",
        "KB",
        "MB",
        "GB",
        "TB",
        "EB",
    ];

    $tmp = 0;
    while ($size >= 1024) {
        $size /= 1024;
        $tmp++;
    }

    return round($size, 2) . " " . $arr[$tmp];
}

#[('page', '分页')]
function page($obj)
{
    if (!$obj || !array_key_exists('data', $obj->toArray())) {
        return '';
    }

    // 优化的方案
    $params = request()->param();

    return $obj->appends($params)->render();
}
